﻿using Newtonsoft.Json;
using System;

namespace MiniFox.Platform.Applications.Models
{
    /// <summary>
    /// 
    /// </summary>
    [JsonObject]
    public class SystemAction
    {
        /// <summary>
        /// 
        /// </summary>
        public SystemAction()
        {
        }
        /// <summary>
        /// 
        /// </summary>
        [JsonProperty("actionID")]
        public string ActionID { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [JsonProperty("actionCode")]
        public string ActionCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [JsonProperty("actionName")]
        public string ActionName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [JsonProperty("publicAccess")]
        public bool PublicAccess { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [JsonProperty("actionUri")]
        public string ActionURI { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [JsonProperty("actionType")]
        public ActionType ActionType { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [JsonProperty("ordinal")]
        public int? Ordinal { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [JsonProperty("icon")]
        public string Icon { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [JsonProperty("event")]
        public string Event { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [JsonProperty("eventType")]
        public EventType EventType { get; set; }
    }


    /// <summary>
    /// 
    /// </summary>
    public enum ActionType
    {
        /// <summary>
        /// 
        /// </summary>
        [JsonProperty("toolbar")]
        Toolbar = 0,
        /// <summary>
        /// 
        /// </summary>
        [JsonProperty("list")]
        List = 1,
        /// <summary>
        /// 
        /// </summary>
        [JsonProperty("statebar")]
        Statebar = 2
    }
    /// <summary>
    /// 
    /// </summary>
    public enum EventType
    {
        /// <summary>
        /// 
        /// </summary>
        [JsonProperty("click")]
        Click = 0,
        /// <summary>
        /// 
        /// </summary>
        [JsonProperty("hover")]
        Hover = 1
    }
}
